iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0
Software Development

Unity遊戲開發系列 第 4

DAY04 碰撞框Collision

  • 分享至 

  • xImage
  •  

物件之間產生碰撞的偵測,必須兩者都帶有碰撞器,以及其中一方帶有剛體
2D遊戲物件的碰撞器只能使用2D碰撞器,無法將2D遊戲物件與3D碰撞器一起使用,而3D遊戲物件也只能使用3D碰撞器 ,無法使用2D碰撞器。

碰撞器有分成以下幾種:

2D碰撞器

Box Collider 2D:盒子碰撞器,是一個長方體外形的基本碰撞器,可以用於地板、牆壁或箱子等物件

Circle Collider 2D:圓形碰撞器,大小可以均勻等地調節,但不能單獨調節某個坐標軸方向的大小

Capsule Collider 2D:膠囊碰撞器,半徑和高度都可以單獨調節,可用在角色或與其他不規則形狀的碰撞結合來使用

Polygon Collider 2D:多邊形碰撞器

3D碰撞器

Box Collider:盒子碰撞器
Sphere Collider:球形碰撞器
Capsule Collider:膠囊碰撞器
Terrain Collider:地形碰撞器

Mesh Collider:網格碰撞器,透過獲取網格對象並在其基礎上建立碰撞,在與復雜網格模型上使用基本碰撞相比,網格碰撞體要更加精細,但會佔用更多的系統資源

Wheel Collider:輪碰撞器

待更

https://ithelp.ithome.com.tw/upload/images/20230920/20162530tgTB1QjWOI.png
Edit Collider
手動調整碰撞框的大小
https://ithelp.ithome.com.tw/upload/images/20230920/201625300Gr8H2YOzb.png
待更

程式碼

OnCollisionEnter用來判斷是否有碰撞

void OnCollisionEnter2D(Collision2D coll) {
        if (coll.gameObject.tag == "monster") {
           print("hit");
         }  
    }

OnTriggerEnter用來判斷是否有碰觸

void OnTriggerEnter2D(Collider2D other)
    {
        if (other.gameObject.tag == "sword") {
             print("HP-10");
       }

參考資料
https://docs.unity3d.com/Manual/Collider2D.html


上一篇
DAY03 剛體Rigidbody
下一篇
DAY05 Unity 角色移動
系列文
Unity遊戲開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言